Bluetooth™ refers generally to a standardized group of technologies usable to exchange data between devices over short distances using radio transmission and reception in the 2.4-GHz ISM band. The promulgation and management of Bluetooth standards is done by various committees of the Bluetooth SIG, of which over 30,000 companies are members.
Bluetooth Low Energy (LE) is a particular version of Bluetooth technology that was first standardized by the Bluetooth SIG in 2010. Bluetooth LE is generally targeted at low-power applications that can tolerate lower-rate communications than, e.g., more traditional Bluetooth applications. Furthermore, Bluetooth LE is suitable for inexpensive devices that are constrained in terms of memory and computational resources.
Even so, Bluetooth LE leverages a robust frequency-hopping spread spectrum approach that transmits data over 40 channels. Furthermore, a Bluetooth LE-compliant radio includes multiple physical layer (PHY) options that support data rates from 125 kb/s to 2 Mb/s, multiple power levels, from 1 mW to 100 mW, as well as multiple security options.
Bluetooth LE also supports multiple network topologies, including a conventional point-to-point topology used for establishing one-to-one (1:1) communications between two devices. In addition, Bluetooth LE supports a broadcast (one-to-many, or 1:m) device communications. The broadcast topology can be used for localized information sharing and for location services such as retail point-of-interest information, indoor navigation and wayfinding, and item/asset tracking.
Finally, Bluetooth LE supports a mesh topology that can be used for establishing many-to-many (m:m) device communications. The mesh topology based on Bluetooth LE can enable the creation of large-scale device networks such as for control, monitoring, and automation systems where tens, hundreds, or thousands of devices need to reliably and securely communicate with each other. In the Bluetooth LE mesh topology, each device in a mesh network potentially can communicate with every other device in the mesh network. Communication is achieved using messages, and devices can relay messages to other devices so that the end-to-end communication range is extended far beyond the radio range of each individual device.
Devices that are part of a Bluetooth LE mesh network are referred to as “nodes” whereas other devices not part of the mesh (e.g., even though within range of the mesh) are referred to as “unprovisioned devices.” The process which transforms an unprovisioned device into a node is called provisioning. This is a secure procedure which results in an unprovisioned device possessing a series of encryption keys and being known to the Provisioner device, such as a tablet or smartphone. A Provisioner is a device responsible for adding a node to a network and configuring its behavior.
As mentioned above, communication in a Bluetooth mesh network is “message-oriented” and various message types are defined. For example, when a node needs to query the status of other nodes or needs to control other nodes in some way, it can send a message of a suitable type. If a node needs to report its status to other nodes, it can send a message of suitable type. Messages must be sent from an address and to an address. Bluetooth mesh topology supports three different types of addresses. A unicast address uniquely identifies a single element (e.g., devices can include one or more elements), and unicast addresses are assigned to devices during the provisioning process. A group address is a multicast address which represents one or more elements. A virtual address may be assigned to one or more elements, spanning one or more nodes.
To further facilitate the use of Bluetooth LE in mesh network topologies, the Bluetooth SIG promulgated the Mesh Profile Specification in July 2017. FIG. 1 shows an exemplary layered mesh architecture based on Bluetooth LE, as specified by the Bluetooth SIG. At the top is the Model layer, which defines models used to standardize the operation of typical user scenarios, such as models for lighting and sensors. The Model layer is further defined in other Bluetooth specifications, including a Bluetooth Mesh Model specification. The Foundation Model layer defines the states, messages, and models required to configure and manage a mesh network. The Access layer defines how higher-layer applications can use the upper transport layer. It defines the format of the application data; it defines and controls the application data encryption and decryption performed in the upper transport layer; and it checks whether the incoming application data has been received in the context of the right network and application keys before forwarding it to the higher layer.
The Transport layer is subdivided into the Upper and Lower Transport Layers. The Upper Transport Layer encrypts, decrypts, and authenticates application data and is designed to provide confidentiality of access messages. It also defines how transport control messages are used to manage the upper transport layer between nodes, including when used by the “Friend” feature. The Lower Transport Layer defines how upper transport layer messages are segmented and reassembled into multiple Lower Transport protocol data units (PDUs) to deliver large upper transport layer messages to other nodes. It also defines a single control message to manage segmentation and reassembly.
The Network Layer defines how transport messages are addressed towards one or more elements. It defines the network message format that allows Transport PDUs to be transported by the bearer layer. The network layer decides whether to relay/forward messages, accept them for further processing, or reject them. It also defines how a network message is encrypted and authenticated. The bearer layer defines how network messages are transported between nodes. There are two bearers defined, the advertising bearer and the GATT bearer.
At the bottom of the exemplary architecture shown in FIG. 1 are the Bluetooth LE radio layers. FIG. 2 further illustrates how Bluetooth mesh networking integrates with Bluetooth LE architecture shown in FIG. 1. In FIG. 2, shading is used to indicate blocks or layers that are part of the Bluetooth LE specification. At the bottom are the Bluetooth LE physical (PHY) and link layers, which typically can be implemented in the Bluetooth controller. The layers above link layer typically can be implemented on the Bluetooth host device. On the left side of FIG. 2 are Bluetooth LE higher layers that can be utilized independent of mesh networking functionality. The non-shaded blocks on the right side above the link layer correspond to the mesh networking architecture shown in FIG. 1 (plus provisioning). In this manner, applications (shown at the top-most layer in FIG. 2) can utilize both mesh and non-mesh functionality of the underlying Bluetooth LE technology.
Currently, Bluetooth mesh networking is based on “flooding” which uses broadcasting over a set of shared channels—the advertising channels. A node acting as a relay node in a Bluetooth mesh network scans for mesh messages. When a message is detected and received the node checks if it is the destination of the message. The message can be forwarded in the mesh network by re-transmitting it so that the neighbors of the node can receive it. By means of this distributed mechanism the message is forwarded from node to node(s) in the network so that the message arrives at the destination.
Flooding, as specified in version 1.0 of the Bluetooth mesh specification, has some drawbacks including increased interference and energy consumption, especially as the level of traffic in the network increases. As such, subsequent versions of the Bluetooth mesh specifications are expected to implement mechanisms to limit packet forwarding to occur only along specific paths towards the intended receiver(s). This is expected to reduce the amount of traffic (and consequently alleviate the exemplary drawbacks mention) in directions where forwarding does not help improving the probability of successful delivery.
One known technique to construct forwarding paths between a source and one or more destinations is through path discovery according to an “ad hoc on-demand distance vector (AODV),” such as specified in RFC 3561 published by Internet Engineering Task Force (IETF). AODV can determine unicast routes to destinations within an ad hoc network with quick adaptation to dynamic link conditions, while requiring relatively low processing and memory overhead and low network utilization. In addition, AODV uses destination sequence numbers to facilitate freedom from loops, even after anomalous delivery of routing control messages.
More specifically, AODV methods establish paths by means of Path Request (also referred to as “Route Request”) messages flooded by the originator and Path Reply (also referred to as “Route Reply”) messages unicasted back by the destination. Intermediate relays that receive the Path Reply message store path information in a forwarding table and are entitled to forward packets. Sequence numbers (also referred to as “forwarding numbers”) increase with each new Path Request message and, as such, can be used to distinguish new Path Request messages from copies of Path Request messages already forwarded in the network.
A particular feature of Bluetooth Mesh is that data messages do not contain explicit next-hop indications. As mentioned above, a path is identified by a combination of the addresses of the originator of the path and the address of the destination of the path. As such, multiple nodes that receive a message and belong to the path can forward the message. This provides opportunities to enable robust, multi-path communication via completely independent redundant paths that can be traversed without having to replicate messages to each of the next-hop destinations. In addition, these characteristics facilitate the introduction of assistant relay nodes for local path repair.
Even so, the network topology and propagation conditions in a wireless (e.g., Bluetooth) mesh network deployment can limit the availability of these redundancy mechanisms. For example, when a given link is present in more than one (e.g., potentially all) possible communication paths between a source node and a destination node, it is referred to as a “critical link.” Losses of such critical links impact the end-to-end reliability of the mesh network, particularly the forwarding mechanism in Bluetooth mesh.